
#include "user_led.h"

/* LedSet Configuration */
#define LedSet_BV                         BV(6)
#define LedSet_SBIT                       P0_6
#define LedSet_DDR                        P0DIR
#define LedSet_ON                         P0_6 = 1
#define LedSet_OFF                        P0_6 = 0


//==============================================================================
//                            * 单个LED配置 *
//==============================================================================
static uint16 LedSet_kms, LedSet_gms, LedSet_cnt = 0;
static bool LedSet_f = 0;
/**
**功    能：
**输入参数：
**返 回 值：
**说    明：
*/
void UserLedSetInit(void)
{
	LedSet_DDR |= LedSet_BV;
	LedSet_OFF; LedSet_f = 0;
}
/**
**功    能：
**输入参数：
**返 回 值：
**说    明：
*/
void UserLedSetContorl(uint16 ms1,uint16 ms2,uint16 cnt)
{
	LedSet_kms = ms1; LedSet_gms = ms2; LedSet_cnt = cnt;
	LedSet_DDR |= LedSet_BV; LedSet_f = 0;
	UserLedSetProcess();
}
/**
**功    能：
**输入参数：
**返 回 值：
**说    明：
*/
void UserLedSetProcess(void)
{
	uint16 t_ms;

	if (LedSet_cnt > 0)
	{
		if (LedSet_f)
		{
			LedSet_f = 0; LedSet_OFF; t_ms = LedSet_gms;
		}
		else
		{
			LedSet_f = 1; LedSet_ON; t_ms = LedSet_kms; LedSet_cnt --;
		}
		osal_start_timerEx(Hal_TaskID, USER_LEDSET_EVENT, t_ms);
	}
	else
	{
		LedSet_f = 0; LedSet_OFF; LedSet_kms = LedSet_gms = LedSet_cnt = 0;
	}
}
